import java.io.File;

/**
 * Created with IntelliJ IDEA.
 * Description:
 * User: 86185
 * Date: 2023-06-14
 * Time: 14:08
 */
class FileList {
    public void readContentsInDirectory(String path) {
        File file = new File(path);
        String[] files = file.list();
        assert files != null;
        for (String s :
                files) {
            System.out.println(s);
        }
    }
    public void readContentsInDirectoryRecursive(File file, int level) {
        File[] files = file.listFiles();
        assert files != null;
        for (File f :
                files) {
            for (int i = 0; i < level; i++) {
                System.out.print("-");
            }
            if(f.isFile()) {
                System.out.println("[文件]" + f.getName());
            } else {
                System.out.println("[目录]" + f.getName());
                readContentsInDirectoryRecursive(f, level + 2);
            }
        }
    }
}
public class Test {
    /**
     * 文件的路径表示方式
     * 1.绝对路径,包括盘符在内的文件或文件目录的完整路径
     * 2.相对路径,相较于一个文件目录来讲的相对位置
     *      在IDEA中,如果使用单元测试方法,相对于当前的module来讲
     *      如果用main方法,相对于当前的project
     */
    public static void main(String[] args) {
        FileList fileList = new FileList();

        fileList.readContentsInDirectory("D:\\JAVA\\java\\j230614");
        fileList.readContentsInDirectoryRecursive(new File("D:\\JAVA\\java\\j230614"), 0);
    }
    public static void main2(String[] args) {
        //public File(String parent, String child):以parent为父路径,child为子路径创建Ilie对象
        //参数一一定是一个文件目录
        //参数二可以是一个文件目录,也可以是一个文件
        File file1 = new File("D:\\io", "abc.txt");
        File file2 = new File("abc" ,"a12");

        //public File(File parent, String child)
        //参数一一定是一个文件目录
        //参数二可以是一个文件目录,也可以是一个文件
        File file3 = new File(file2, "ab.txt");

    }
    public static void main1(String[] args) {
        File file1 = new File("D:/io\\hello.txt");
        File file2 = new File("abc");
        System.out.println(file2.getAbsoluteFile());

    }
}
